package com.ndp.fb.walle.business;

import com.ndp.fb.model.business.vo.ectemplate.EcElementFilterParam;
import com.ndp.fb.rdb.model.EcElementCategory;
import com.ndp.fb.rdb.model.EcTemplate;
import com.ndp.fb.rdb.model.Pager;
import com.ndp.fb.rdb.model.User;
import com.ndp.fb.rdb.model.ecelement.EcElementAttach;
import com.ndp.fb.rdb.model.ectemplate.EcTemplateElementShowResult;
import com.ndp.fb.walle.model.vo.ectemplate.param.EcTemplatePreviewElementParam;

import java.util.List;

/**
 * Created by evan on 2016/7/4.
 */
public interface EcTemplateDetailService {

    //模板详情页  元素过滤
    List<EcTemplateElementShowResult> filter(EcElementFilterParam param, Long orgId, boolean isEn);


    List<EcTemplateElementShowResult> getAllElements(EcElementFilterParam param, Long orgId,Boolean isEn);

    Integer getGroupCount(EcElementFilterParam param);


    //在模板上预览主要元素和辅助元素 ，看生成后的图
    String previewOnTmpl(EcTemplatePreviewElementParam param);

    //查找模板使用的  主体背景
    EcElementAttach getBgDesignEleByTmpl(Long templateId, Long orgId);

    //查找模板使用的 装饰
    EcElementAttach getBkDesignEleByTmpl(Long templateId, Long orgId);

    //更新模板bg用的图
    void updateTmplBgStyle(Long templateId, String templateName, String designCode);

    //更新模板装饰
    void updateTmplBk(Long templateId, String templateName, String designCode);

    List<EcTemplate> findAllEcTemplate();

    //获取元素大类
    List<EcElementCategory> findBigCatagory(String language);

    //获取元素二级类别
    List<EcElementCategory> getElementSmallCategory(String language, Long elementType);

    List<EcTemplate> findAllNewEcTemplate(User user);
}
